﻿using 名词表;

namespace 战斗系统原型.数据导入导出
{
    internal static class 存档序列化
    {
        public static void 建立新存档()
        {

        }

        public static void 选择存档()
        {
            var 文件列表 = Directory.GetFiles("存档\\");
            if (文件列表.Count() == 0 || 文件列表==null) { 显示.日志输出(显示.日志类型.中断, "没有建立任何存档"); }
            读取存档(文件列表!.FirstOrDefault()!);
        }

        public static void 读取存档(string 存档路径)
        {
            MiniExcel辅助类 miniExcel = new MiniExcel辅助类(存档路径);
            var 角色数据 = miniExcel.从Excel转DataTable(存档数据.存档表.角色.ToString(), true);
            for (int i = 0; i < 角色数据.Rows.Count; i++)
            {
                var 角色名称 = 角色数据.Rows[i][存档数据.存档列.角色名称.ToString()];
                int 角色等级 = 数值转换.文本转int数值(角色数据.Rows[i][存档数据.存档列.角色等级.ToString()].ToString()!);
                if (string.IsNullOrWhiteSpace(角色名称.ToString())) { continue; }
                存档数据.角色列表.Add(角色名称.ToString()!);
                存档数据.角色等级.Add(角色等级);
            }
           
        }
        public static void 更新玩家角色等级数据(数据组 数据组)
        {
            if (存档数据.角色列表.Count == 0) { 显示.日志输出(显示.日志类型.中断, "没有加载任何存档"); }
            for (int i = 0; i < 存档数据.角色列表.Count; i++)
            {
                数据导入导出.数据序列化.更新角色等级基础数据(数据组, (主角团姓名)Enum.Parse(typeof(主角团姓名), 存档数据.角色列表[i]), 存档数据.角色等级[i]);
            }
        }
    }
}
